Support React 19 in App and Pages router#65058
Conversation
Failing test suitesCommit: 71ab968
Expand output● Custom Resolver Tests › production mode › Client-side Custom Loader Tests › Should use a custom resolver for image URL ● Custom Resolver Tests › production mode › Client-side Custom Loader Tests › should add a srcset based on the custom resolver ● Custom Resolver Tests › production mode › Client-side Custom Loader Tests › should support the unoptimized attribute Read more about building and testing Next.js in contributing.md.
Expand output● app-dir action handling › fetch actions › should handle redirects to routes that provide an invalid RSC response Read more about building and testing Next.js in contributing.md. |
| } else if (typeof process === 'object' && // $FlowFixMe[method-unbinding] | ||
| typeof process.emit === 'function') { | ||
| // Node Polyfill | ||
| process.emit('uncaughtException', error); |
There was a problem hiding this comment.
process@0.11 is now bundled in our client bundles. Likely because of this. Verify before merge
5c3ce45 to
770b97d
Compare
90d45d2 to
59ae828
Compare
Stats from current PRDefault Build (Increase detected
|
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| buildDuration | 19.6s | 17.8s | N/A |
| buildDurationCached | 10.1s | 8.7s | N/A |
| nodeModulesSize | 369 MB | 345 MB | N/A |
| nextStartRea..uration (ms) | 452ms | 473ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| 2262-HASH.js gzip | 5.06 kB | 5.05 kB | N/A |
| 7522.HASH.js gzip | 169 B | 169 B | ✓ |
| 8bfde070-HASH.js gzip | 53.5 kB | N/A | N/A |
| 9921-HASH.js gzip | 31.9 kB | 33.6 kB | |
| framework-HASH.js gzip | 55.8 kB | 55.8 kB | N/A |
| main-app-HASH.js gzip | 228 B | 227 B | N/A |
| main-HASH.js gzip | 32.3 kB | 32.3 kB | N/A |
| webpack-HASH.js gzip | 1.71 kB | 1.7 kB | N/A |
| f4e28338-HASH.js gzip | N/A | 50.8 kB | N/A |
| Overall change | 32.1 kB | 33.7 kB |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 191 B | 193 B | N/A |
| _error-HASH.js gzip | 192 B | 192 B | ✓ |
| amp-HASH.js gzip | 510 B | 511 B | N/A |
| css-HASH.js gzip | 341 B | 342 B | N/A |
| dynamic-HASH.js gzip | 2.52 kB | 2.52 kB | N/A |
| edge-ssr-HASH.js gzip | 266 B | 265 B | N/A |
| head-HASH.js gzip | 365 B | 365 B | ✓ |
| hooks-HASH.js gzip | 392 B | 392 B | ✓ |
| image-HASH.js gzip | 4.27 kB | 4.27 kB | N/A |
| index-HASH.js gzip | 268 B | 268 B | ✓ |
| link-HASH.js gzip | 2.69 kB | 2.69 kB | N/A |
| routerDirect..HASH.js gzip | 327 B | 329 B | N/A |
| script-HASH.js gzip | 392 B | 396 B | N/A |
| withRouter-HASH.js gzip | 324 B | 324 B | ✓ |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 1.65 kB | 1.65 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 483 B | 485 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| index.html gzip | 527 B | 529 B | N/A |
| link.html gzip | 541 B | 544 B | N/A |
| withRouter.html gzip | 522 B | 524 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 120 kB | 120 kB | N/A |
| page.js gzip | 182 kB | 180 kB | N/A |
| Overall change | 0 B | 0 B | ✓ |
Middleware size
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 625 B | 625 B | ✓ |
| middleware-r..fest.js gzip | 156 B | 156 B | ✓ |
| middleware.js gzip | 25.7 kB | 25.7 kB | N/A |
| edge-runtime..pack.js gzip | 839 B | 839 B | ✓ |
| Overall change | 1.62 kB | 1.62 kB | ✓ |
Next Runtimes Overall increase ⚠️
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 171 kB | 174 kB | |
| app-page-exp..prod.js gzip | 98.8 kB | 106 kB | |
| app-page-tur..prod.js gzip | 100 kB | 115 kB | |
| app-page-tur..prod.js gzip | 94.6 kB | 95 kB | |
| app-page.run...dev.js gzip | 157 kB | 160 kB | |
| app-page.run..prod.js gzip | 93.3 kB | 93.6 kB | |
| app-route-ex...dev.js gzip | 21.5 kB | 20.9 kB | N/A |
| app-route-ex..prod.js gzip | 15.3 kB | 15 kB | N/A |
| app-route-tu..prod.js gzip | 15.3 kB | 15 kB | N/A |
| app-route-tu..prod.js gzip | 15 kB | 14.8 kB | N/A |
| app-route.ru...dev.js gzip | 21.4 kB | 20.7 kB | N/A |
| app-route.ru..prod.js gzip | 15 kB | 14.8 kB | N/A |
| pages-api-tu..prod.js gzip | 9.55 kB | 9.55 kB | ✓ |
| pages-api.ru...dev.js gzip | 9.82 kB | 9.82 kB | ✓ |
| pages-api.ru..prod.js gzip | 9.55 kB | 9.55 kB | ✓ |
| pages-turbo...prod.js gzip | 21.5 kB | 21.5 kB | N/A |
| pages.runtim...dev.js gzip | 22.1 kB | 22 kB | N/A |
| pages.runtim..prod.js gzip | 21.5 kB | 21.4 kB | N/A |
| server.runti..prod.js gzip | 51.8 kB | 51.8 kB | ✓ |
| Overall change | 796 kB | 824 kB |
build cache Overall increase ⚠️
| vercel/next.js canary | vercel/next.js sebbie/react-19-sync | Change | |
|---|---|---|---|
| 0.pack gzip | 1.63 MB | 1.63 MB | |
| index.pack gzip | 118 kB | 118 kB | N/A |
| Overall change | 1.63 MB | 1.63 MB |
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
/***/
},
- /***/ 4598: /***/ (
+ /***/ 2101: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -30,7 +30,7 @@
default: () => /* binding */ nHandler,
});
- // NAMESPACE OBJECT: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+ // NAMESPACE OBJECT: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
var page_next_edge_ssr_entry_namespaceObject = {};
__webpack_require__.r(page_next_edge_ssr_entry_namespaceObject);
__webpack_require__.d(page_next_edge_ssr_entry_namespaceObject, {
@@ -68,24 +68,24 @@
tree: () => tree,
});
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/web/globals.js
- var globals = __webpack_require__(9358);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
- var adapter = __webpack_require__(5874);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 87 modules
- var render = __webpack_require__(9805);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
- var incremental_cache = __webpack_require__(5260);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/app-render.js + 52 modules
- var app_render = __webpack_require__(1052);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/future/route-modules/app-page/module.compiled.js
- var module_compiled = __webpack_require__(5209);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/future/route-kind.js
- var route_kind = __webpack_require__(8378);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/client/components/error-boundary.js
- var error_boundary = __webpack_require__(1295);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
- var entry_base = __webpack_require__(6173); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/web/globals.js
+ var globals = __webpack_require__(2780);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+ var adapter = __webpack_require__(8175);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 87 modules
+ var render = __webpack_require__(8946);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
+ var incremental_cache = __webpack_require__(9203);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/app-render.js + 52 modules
+ var app_render = __webpack_require__(69);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/future/route-modules/app-page/module.compiled.js
+ var module_compiled = __webpack_require__(7075);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/future/route-kind.js
+ var route_kind = __webpack_require__(726);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/client/components/error-boundary.js
+ var error_boundary = __webpack_require__(8977);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
+ var entry_base = __webpack_require__(8444); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-stats7hw4IR%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
("TURBOPACK { transition: next-ssr }");
// We inject the tree and pages here so that we can use them in the route
@@ -104,7 +104,7 @@
page: [
() =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1286)
+ __webpack_require__.bind(__webpack_require__, 1803)
),
"/tmp/next-stats7hw4IR/stats-app/app/app-edge-ssr/page.js",
],
@@ -118,14 +118,14 @@
layout: [
() =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 6447)
+ __webpack_require__.bind(__webpack_require__, 4741)
),
"/tmp/next-stats7hw4IR/stats-app/app/layout.js",
],
"not-found": [
() =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 9641)
+ __webpack_require__.bind(__webpack_require__, 8270)
),
"next/dist/client/components/not-found-error",
],
@@ -161,12 +161,12 @@
});
//# sourceMappingURL=app-page.js.map
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/lib/page-types.js
- var page_types = __webpack_require__(3470);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/encryption-utils.js
- var encryption_utils = __webpack_require__(904);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/esm/server/app-render/action-utils.js
- var action_utils = __webpack_require__(8961); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","buildId":"BUILD_ID","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJpbmxpbmUiLCJyZW1vdGVQYXR0ZXJucyI6W10sInVub3B0aW1pemVkIjpmYWxzZX0sImRldkluZGljYXRvcnMiOnsiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJvcHRpbWl6ZUZvbnRzIjp0cnVlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJodHRwQWdlbnRPcHRpb25zIjp7ImtlZXBBbGl2ZSI6dHJ1ZX0sIm91dHB1dEZpbGVUcmFjaW5nIjp0cnVlLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJzd2NNaW5pZnkiOnRydWUsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwiZXhwZXJpbWVudGFsIjp7ImZseWluZ1NodXR0bGUiOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOmZhbHNlLCJzZXJ2ZXJNaW5pZmljYXRpb24iOnRydWUsInNlcnZlclNvdXJjZU1hcHMiOmZhbHNlLCJsaW5rTm9Ub3VjaFN0YXJ0IjpmYWxzZSwiY2FzZVNlbnNpdGl2ZVJvdXRlcyI6ZmFsc2UsInByZWxvYWRFbnRyaWVzT25TdGFydCI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyIjp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXJSZWRpcmVjdHMiOmZhbHNlLCJmZXRjaENhY2hlS2V5UHJlZml4IjoiIiwibWlkZGxld2FyZVByZWZldGNoIjoiZmxleGlibGUiLCJvcHRpbWlzdGljQ2xpZW50Q2FjaGUiOnRydWUsIm1hbnVhbENsaWVudEJhc2VQYXRoIjpmYWxzZSwiY3B1cyI6MTksIm1lbW9yeUJhc2VkV29ya2Vyc0NvdW50IjpmYWxzZSwiaXNyRmx1c2hUb0Rpc2siOnRydWUsIndvcmtlclRocmVhZHMiOmZhbHNlLCJvcHRpbWl6ZUNzcyI6ZmFsc2UsIm5leHRTY3JpcHRXb3JrZXJzIjpmYWxzZSwic2Nyb2xsUmVzdG9yYXRpb24iOmZhbHNlLCJleHRlcm5hbERpciI6ZmFsc2UsImRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nIjpmYWxzZSwiZ3ppcFNpemUiOnRydWUsImNyYUNvbXBhdCI6ZmFsc2UsImVzbUV4dGVybmFscyI6dHJ1ZSwiZnVsbHlTcGVjaWZpZWQiOmZhbHNlLCJvdXRwdXRGaWxlVHJhY2luZ1Jvb3QiOiIvdG1wL25leHQtc3RhdHM3aHc0SVIvc3RhdHMtYXBwIiwic3djVHJhY2VQcm9maWxpbmciOmZhbHNlLCJmb3JjZVN3Y1RyYW5zZm9ybXMiOmZhbHNlLCJsYXJnZVBhZ2VEYXRhQnl0ZXMiOjEyODAwMCwiYWRqdXN0Rm9udEZhbGxiYWNrcyI6ZmFsc2UsImFkanVzdEZvbnRGYWxsYmFja3NXaXRoU2l6ZUFkanVzdCI6ZmFsc2UsInR5cGVkUm91dGVzIjpmYWxzZSwiaW5zdHJ1bWVudGF0aW9uSG9vayI6ZmFsc2UsImJ1bmRsZVBhZ2VzRXh0ZXJuYWxzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJDb21waWxlcyI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQnVpbGRUcmFjZXMiOmZhbHNlLCJwcHIiOmZhbHNlLCJtaXNzaW5nU3VzcGVuc2VXaXRoQ1NSQmFpbG91dCI6dHJ1ZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjMwLCJzdGF0aWMiOjMwMH0sIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzN2h3NElSL3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzN2h3NElSJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0Qh","sriEnabled":false,"middlewareConfig":"e30="}!
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/lib/page-types.js
+ var page_types = __webpack_require__(3914);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+ var encryption_utils = __webpack_require__(7356);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/esm/server/app-render/action-utils.js
+ var action_utils = __webpack_require__(7214); // CONCATENATED MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","buildId":"BUILD_ID","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJpbmxpbmUiLCJyZW1vdGVQYXR0ZXJucyI6W10sInVub3B0aW1pemVkIjpmYWxzZX0sImRldkluZGljYXRvcnMiOnsiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJvcHRpbWl6ZUZvbnRzIjp0cnVlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJodHRwQWdlbnRPcHRpb25zIjp7ImtlZXBBbGl2ZSI6dHJ1ZX0sIm91dHB1dEZpbGVUcmFjaW5nIjp0cnVlLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJzd2NNaW5pZnkiOnRydWUsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwiZXhwZXJpbWVudGFsIjp7ImZseWluZ1NodXR0bGUiOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOmZhbHNlLCJzZXJ2ZXJNaW5pZmljYXRpb24iOnRydWUsInNlcnZlclNvdXJjZU1hcHMiOmZhbHNlLCJsaW5rTm9Ub3VjaFN0YXJ0IjpmYWxzZSwiY2FzZVNlbnNpdGl2ZVJvdXRlcyI6ZmFsc2UsInByZWxvYWRFbnRyaWVzT25TdGFydCI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyIjp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXJSZWRpcmVjdHMiOmZhbHNlLCJmZXRjaENhY2hlS2V5UHJlZml4IjoiIiwibWlkZGxld2FyZVByZWZldGNoIjoiZmxleGlibGUiLCJvcHRpbWlzdGljQ2xpZW50Q2FjaGUiOnRydWUsIm1hbnVhbENsaWVudEJhc2VQYXRoIjpmYWxzZSwiY3B1cyI6MTksIm1lbW9yeUJhc2VkV29ya2Vyc0NvdW50IjpmYWxzZSwiaXNyRmx1c2hUb0Rpc2siOnRydWUsIndvcmtlclRocmVhZHMiOmZhbHNlLCJvcHRpbWl6ZUNzcyI6ZmFsc2UsIm5leHRTY3JpcHRXb3JrZXJzIjpmYWxzZSwic2Nyb2xsUmVzdG9yYXRpb24iOmZhbHNlLCJleHRlcm5hbERpciI6ZmFsc2UsImRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nIjpmYWxzZSwiZ3ppcFNpemUiOnRydWUsImNyYUNvbXBhdCI6ZmFsc2UsImVzbUV4dGVybmFscyI6dHJ1ZSwiZnVsbHlTcGVjaWZpZWQiOmZhbHNlLCJvdXRwdXRGaWxlVHJhY2luZ1Jvb3QiOiIvdG1wL25leHQtc3RhdHM3aHc0SVIvc3RhdHMtYXBwIiwic3djVHJhY2VQcm9maWxpbmciOmZhbHNlLCJmb3JjZVN3Y1RyYW5zZm9ybXMiOmZhbHNlLCJsYXJnZVBhZ2VEYXRhQnl0ZXMiOjEyODAwMCwiYWRqdXN0Rm9udEZhbGxiYWNrcyI6ZmFsc2UsImFkanVzdEZvbnRGYWxsYmFja3NXaXRoU2l6ZUFkanVzdCI6ZmFsc2UsInR5cGVkUm91dGVzIjpmYWxzZSwiaW5zdHJ1bWVudGF0aW9uSG9vayI6ZmFsc2UsImJ1bmRsZVBhZ2VzRXh0ZXJuYWxzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJDb21waWxlcyI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQnVpbGRUcmFjZXMiOmZhbHNlLCJwcHIiOmZhbHNlLCJtaXNzaW5nU3VzcGVuc2VXaXRoQ1NSQmFpbG91dCI6dHJ1ZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjMwLCJzdGF0aWMiOjMwMH0sIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzN2h3NElSL3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzN2h3NElSJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0Qh","sriEnabled":false,"middlewareConfig":"e30="}!
var _self___RSC_MANIFEST;
const incrementalCacheHandler = null;
@@ -407,50 +407,50 @@
/***/
},
- /***/ 8798: /***/ (
+ /***/ 4244: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8448)
+ __webpack_require__.bind(__webpack_require__, 7360)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 4660)
+ __webpack_require__.bind(__webpack_require__, 6672)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 2617)
+ __webpack_require__.bind(__webpack_require__, 6524)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 2311)
+ __webpack_require__.bind(__webpack_require__, 831)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8387)
+ __webpack_require__.bind(__webpack_require__, 1757)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 7949)
+ __webpack_require__.bind(__webpack_require__, 9922)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 7870)
+ __webpack_require__.bind(__webpack_require__, 6647)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8989)
+ __webpack_require__.bind(__webpack_require__, 9176)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1337)
+ __webpack_require__.bind(__webpack_require__, 6053)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 9318)
+ __webpack_require__.bind(__webpack_require__, 1606)
);
/***/
},
- /***/ 7129: /***/ () => {
+ /***/ 8402: /***/ () => {
/***/
},
- /***/ 1286: /***/ (
+ /***/ 1803: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -470,7 +470,7 @@
/***/
},
- /***/ 6447: /***/ (
+ /***/ 4741: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -482,7 +482,7 @@
/* harmony export */
});
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(2746);
+ __webpack_require__(8742);
function RootLayout({ children }) {
return /*#__PURE__*/ (0,
@@ -501,7 +501,7 @@
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [871, 905], () => __webpack_exec__(4598));
+ /******/ __webpack_require__.O(0, [588, 470], () => __webpack_exec__(2101));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ (_ENTRIES = typeof _ENTRIES === "undefined" ? {} : _ENTRIES)[
"middleware_app/app-edge-ssr/page"Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
Diff too large to display
Diff for image-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[8358],
{
- /***/ 5497: /***/ (
+ /***/ 2307: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/image",
function () {
- return __webpack_require__(7374);
+ return __webpack_require__(6812);
},
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 3508: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6470: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -40,15 +40,15 @@
__webpack_require__(5439)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(8279)
+ __webpack_require__(5691)
);
- const _getimgprops = __webpack_require__(1598);
- const _imageconfig = __webpack_require__(134);
- const _imageconfigcontextsharedruntime = __webpack_require__(7837);
- const _warnonce = __webpack_require__(8099);
- const _routercontextsharedruntime = __webpack_require__(7475);
+ const _getimgprops = __webpack_require__(2069);
+ const _imageconfig = __webpack_require__(8526);
+ const _imageconfigcontextsharedruntime = __webpack_require__(2608);
+ const _warnonce = __webpack_require__(8309);
+ const _routercontextsharedruntime = __webpack_require__(4990);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(9190)
+ __webpack_require__(7291)
);
// This is replaced by webpack define plugin
const configEnv = {
@@ -376,7 +376,7 @@
/***/
},
- /***/ 1598: /***/ (
+ /***/ 2069: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -392,9 +392,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(8099);
- const _imageblursvg = __webpack_require__(6874);
- const _imageconfig = __webpack_require__(134);
+ const _warnonce = __webpack_require__(8309);
+ const _imageblursvg = __webpack_require__(7976);
+ const _imageconfig = __webpack_require__(8526);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -769,7 +769,7 @@
/***/
},
- /***/ 6874: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7976: /***/ (__unused_webpack_module, exports) => {
"use strict";
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -824,7 +824,7 @@
/***/
},
- /***/ 2028: /***/ (
+ /***/ 4186: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -851,10 +851,10 @@
},
});
const _interop_require_default = __webpack_require__(1478);
- const _getimgprops = __webpack_require__(1598);
- const _imagecomponent = __webpack_require__(3508);
+ const _getimgprops = __webpack_require__(2069);
+ const _imagecomponent = __webpack_require__(6470);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(9190)
+ __webpack_require__(7291)
);
function getImageProps(imgProps) {
const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -886,7 +886,7 @@
/***/
},
- /***/ 9190: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7291: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -921,7 +921,7 @@
/***/
},
- /***/ 7374: /***/ (
+ /***/ 6812: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -938,8 +938,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.0.0-beta-4508873393-20240430/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(3456);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_65yyqpgvftv4sckwrae5ytuiki/node_modules/next/image.js
- var next_image = __webpack_require__(5008);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-beta-4508873393-20240430_rea_bi4li5t763kdoqq4snruxkmfcu/node_modules/next/image.js
+ var next_image = __webpack_require__(932);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -969,12 +969,12 @@
/***/
},
- /***/ 5008: /***/ (
+ /***/ 932: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(2028);
+ module.exports = __webpack_require__(4186);
/***/
},
@@ -984,7 +984,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
- __webpack_exec__(5497)
+ __webpack_exec__(2307)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for 8bfde070-HASH.js
deletedDiff for 9921-HASH.js
Diff too large to display
Diff for f4e28338-HASH.js
Diff too large to display
Diff for main-HASH.js
Diff too large to display
Diff for app-page-exp..ntime.dev.js
failed to diffDiff for app-page-exp..time.prod.js
Diff too large to display
Diff for app-page-tur..time.prod.js
Diff too large to display
Diff for app-page-tur..time.prod.js
Diff too large to display
Diff for app-page.runtime.dev.js
failed to diffDiff for app-page.runtime.prod.js
Diff too large to display
Diff for app-route-ex..ntime.dev.js
Diff too large to display
Diff for app-route-ex..time.prod.js
Diff too large to display
Diff for app-route-tu..time.prod.js
Diff too large to display
Diff for app-route-tu..time.prod.js
Diff too large to display
Diff for app-route.runtime.dev.js
Diff too large to display
Diff for app-route.ru..time.prod.js
Diff too large to display
Diff for pages-turbo...time.prod.js
Diff too large to display
Diff for pages.runtime.dev.js
Diff too large to display
Diff for pages.runtime.prod.js
Diff too large to display
720767d to
835f010
Compare
0527f36 to
0122069
Compare
5344203 to
348e07c
Compare
Seems like just chunk ids changed. Probably when I changed some Webpack config?
May be not necessary for hydration diffs to expand. But also doesn't hurt to include?
This was already the case on canary. We just need to rewrite this whole feature. There are too many places interceptiong error events and console error. And then we fork on top of that between App router and pages router. Should be done after landing the sync.
We warn specifically because it's not compatible with Suspense and streaming. Using next/head results in `window.scriptExecutionIds` to resolve to ['src-1.js', 'src-1.js'] For inline scripts we document this: https://nextjs.org/docs/messages/inline-script-id
d62a89f to
71ab968
Compare
|
Deploy test failures are known. Flake expected since we changed too many test that cause the job to timeout. Time will tell if this introduced new flaky tests. |
We added React 19 support in #65058. This updates the create-next-app template (and a random test I found) to match the correct deps to avoid a conflict. [x-ref](https://github.com/vercel/next.js/actions/runs/8991035394/job/24699020578#step:28:347) <!-- Thanks for opening a PR! Your contribution is much appreciated. To make sure your PR is handled as smoothly as possible we request that you follow the checklist sections below. Choose the right checklist for the change(s) that you're making: ## For Contributors ### Improving Documentation - Run `pnpm prettier-fix` to fix formatting issues before opening the PR. - Read the Docs Contribution Guide to ensure your contribution follows the docs guidelines: https://nextjs.org/docs/community/contribution-guide ### Adding or Updating Examples - The "examples guidelines" are followed from our contributing doc https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md - Make sure the linting passes by running `pnpm build && pnpm lint`. See https://github.com/vercel/next.js/blob/canary/contributing/repository/linting.md ### Fixing a bug - Related issues linked using `fixes #number` - Tests added. See: https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ### Adding a feature - Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. (A discussion must be opened, see https://github.com/vercel/next.js/discussions/new?category=ideas) - Related issues/discussions are linked using `fixes #number` - e2e tests added (https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) - Documentation added - Telemetry added. In case of a feature if it's used or not. - Errors have a helpful link attached, see https://github.com/vercel/next.js/blob/canary/contributing.md ## For Maintainers - Minimal description (aim for explaining to someone not on the team to understand the PR) - When linking to a Slack thread, you might want to share details of the conclusion - Link both the Linear (Fixes NEXT-xxx) and the GitHub issues - Add review comments if necessary to explain to the reviewer the logic behind a change ### What? ### Why? ### How? Closes NEXT- Fixes # --> Closes NEXT-3353
We are locking the peerDependency to react v19 beta on canary so we need to update these fixtures to tolerate that. x-ref: [slack thread](https://vercel.slack.com/archives/C048KLPEEH1/p1715191372631389) x-ref: vercel/next.js#65058
Updates React to Beta release channel
Requires #65408
React upstream changes
Move useMemoCache hook to react/compiler-runtime react/react#28954
[react-native] Add unit test to ReactNativeAttributePayload react/react#28955
Import correct prod version of jsx-dev-runtime for react-server react/react#28939
fix: add
react-servercondition forreact/jsx-dev-runtimereact/react#28921Add changelog for 18.3.1 react/react#28932
Add changelog for 18.3 react/react#28929
c4083616a Create React 19 issue template (Ricky)
(Land #28798) Move Current Owner (and Cache) to an Async Dispatcher react/react#28912
Update canary channel label to "beta" react/react#28905
Reconciler: Change
commitUpdatesignature to account for unusedupdatePayloadparameter react/react#28909Go back to shared refs instance object react/react#28911
Support ref cleanup function for imperative handle refs react/react#28910
Add descriptions of new methods to the react-reconciler readme react/react#28750
warn -> error for Test Renderer deprecation react/react#28904
[react-dom] move all client code to
react-dom/clientreact/react#28271Unrevert "Support writing to this.refs from userspace" react/react#28879
Create short link for jsx warning react/react#28899
eslint-plugin-react-hooks: Add support for ESLint v9 react/react#28773
Remove automatic fetch
cacheinstrumentation react/react#28896Add ref callback test for cleanup fn vs null call react/react#28895
Cleanup
replayFailedUnitOfWorkWithInvokeGuardedCallbackandenableProfilerNestedUpdateScheduledHookreact/react#28891[Fiber/Fizz] Support AsyncIterable as Children and AsyncGenerator Client Components react/react#28868
Rename the react.element symbol to react.transitional.element react/react#28813
Remove warning for ref cleanup function react/react#28883
[Flight] Support (Async) Generator ServerComponent react/react#28849
[Flight / Flight Reply] Encode Iterator separately from Iterable react/react#28854
Warn for Child Iterator of all types but allow Generator Components react/react#28853
Don't minify symbols in production builds react/react#28881
[Experiment] Reuse memo cache after interruption react/react#28878
Build react-reconciler for FB builds react/react#28880
Run Closure on non-minified prod builds, too react/react#28827
Revert "Support writing to this.refs from userspace" react/react#28877
Remove
renderToStaticNodeStreamreact/react#28873Deprecate
renderToStaticNodeStreamreact/react#28872[Fizz] escape <script> textContent similar to bootstrapScript react/react#28871
[Fizz] escape <style> textContent as css react/react#28870
Add missing bundle types for ReactCacheOld react/react#28860
[Devtools] Rename Forget badge react/react#28858
Remove ReactFlightFB bundles react/react#28864
Write Diff Train import branch to this repo react/react#28869
Support writing to this.refs from userspace react/react#28867
Add early return to diffProperties react/react#28842
delete useless eslint-disable-next-line react/react#28859
Revert "convert circleci workflow devtools_regression_tests to github actions" react/react#28865
convert circleci workflow devtools_regression_tests to github actions react/react#27800
Update ReactNativeTypes for root options (part 2) react/react#28857
[UMD] Remove umd builds react/react#28735
Complete the typo fix react/react#28856
console test utils fix: match entire string, not just first letter react/react#28855
Test top level fragment inside lazy semantics react/react#28852
Promote ASYNC_ITERATOR symbol to React Symbols react/react#28851
Add ReactNativeTypes for root options react/react#28850
[Flight] Encode ReadableStream and AsyncIterables react/react#28847
Move enableUseDeferredValueInitialArg to canary react/react#28818
Enable flag disableClientCache react/react#28846
Devtools: Add support for useFormStatus react/react#28413
Ensure sizebot doesn't swallow large diffs react/react#28845
[Flight Reply] Encode Typed Arrays and Blobs react/react#28819
Delete AUTHORS.md react/react#28844
Add on(Caught|Uncaught|Recoverable) opts to RN react/react#28836
Flush direct streams in Bun react/react#28837
React DevTools 5.0.2 -> 5.1.0 react/react#28840
[Devtools] Look for a ReactMemoCacheSentinel on state react/react#28831
Use use() in the Cache if available react/react#28793
Remove redundant props assign react/react#28829
Fix mistaken "react-server" condition react/react#28835
Remove
flight-browserfixture react/react#28828feat[devtools-fusebox]: support theme option react/react#28832
feat[devtools]: add package for fusebox integration react/react#28553
feat[devtools]: add method for connecting backend with custom messaging protocol react/react#28552
[Fizz] hoistables should never flush before the preamble react/react#28802
DevTools: Rely on sourcemaps to compute hook name of built-in hooks in newer versions react/react#28593
Backwards compatibility for string refs on WWW react/react#28826
Fix nightly release job for real react/react#28825
Fix nightly release job react/react#28824
[tests] add
assertConsole<method>Devhelpers react/react#28732ReactDOM.requestFormReset react/react#28809
Scaffolding for requestFormReset API react/react#28808
Automatically reset forms after action finishes react/react#28804
[Float] Don't preload images inside
<noscript>react/react#28815[tests] Assert scheduler log empty in internalAct react/react#28737
[tests] add assertLog for legacy mode tests react/react#28814
Removes the react-interactions project which is unused react/react#28799
Remove Scheduler.log from ReactSuspenseFuzz-test react/react#28812
Hardcode disableIEWorkarounds for www react/react#28811
[tests] assertLog before act in useEffectEvent react/react#28763
[tests] assertLog before act in ReactUse react/react#28762
[tests] assertLog before act in ReactErrorBoundaries react/react#28761
[tests] assertLog before act in ReactUpdates react/react#28760
[tests] assertLog before act in ReactDOMServerSelectiveHydration react/react#28759
[tests] assertLog before act in ReactCompositeComponentState react/react#28758
[tests] Fix assertions not flushed before act react/react#28745
Warn if outdated JSX transform is detected react/react#28781
Fix: Suspend while recovering from hydration error react/react#28800
Attempt to fix diff syncing for Meta react/react#28801
Fix cloneElement using string ref w no owner react/react#28797
[Fizz] Stop publishing external-runtime to stable channel react/react#28796
[Tests][Fizz] Test script runtime even when external runtime is available react/react#28794
[DOM] Infer react-server entries bundles if not explicitly configured react/react#28795
Rename SECRET INTERNALS to
__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADEreact/react#28789CI: Run with Node.js 18.20 react/react#28774
Run stale job hourly react/react#28769
Soften useFormState warning react/react#28788
Rename The Secret Export of Server Internals react/react#28786
Flatten ReactSharedInternals react/react#28783
[DOM] Fix package.json files for #28784 react/react#28785
[DOM] disallow client entrypoints with react-server condition react/react#28784
[Float] treat
props.asyncin Float consistent with the rest of react-dom react/react#26760Add support for transition{run,start,cancel} events react/react#27345
[Fiber] Use real event priority for hydration scheduling react/react#28765
[DOM] Shrink ReactDOMCurrentDispatcher method names react/react#28770
[DOM] Shrink ReactDOMSharedInternals source representation react/react#28771
[Flight] Allow lazily resolving outlined models react/react#28780
[TestUtils] Build limited test-utils react/react#28782
feat[devtools]: ship source maps for content scripts and ignore list installHook script react/react#28730
[DOM] move
flushSyncout of the reconciler react/react#28500[Fiber] Move updatePriority tracking to renderers react/react#28751
jsx: Remove unnecessary hasOwnProperty check react/react#28775
Add Promise as a child test to Flight fixture react/react#28778
docs: fix typo in fixtures/nesting/README.md react/react#27507
[Flight] Support FormData from Server to Client react/react#28754
Fast JSX: Don't clone props object react/react#28768
Make class prop resolution faster react/react#28766
[Flight] Support Blobs from Server to Client react/react#28755
Track Owner for Server Components in DEV react/react#28753
Move string ref coercion to JSX runtime react/react#28473
Remove _owner field from JSX elements in prod if string refs are disabled react/react#28739
Remove defaultProps support (except for classes) react/react#28733
Enable stale action react/react#28729
Use a Wrapper Error for onRecoverableError with a "cause" Field for the real Error react/react#28736
Emit Server Error Prefix in the .stack Property Too react/react#28738
Move console mocks to internal-test-utils react/react#28710
Cleanup enableUseRefAccessWarning flag react/react#28699
Classes consume ref prop during SSR, too react/react#28731
Cleanup enableBigIntSupport flag react/react#28711
Remove @providesModule remnants react/react#28720
[FB] use modern entrypoint in tests react/react#28724
Enable feature flags for v19 react/react#28647
Fix: Class components should "consume" ref prop react/react#28719
Move ReactDOMLegacy implementation into RootFB react/react#28656
Use the disableLegacyMode where ever we check the ConcurrentMode mode react/react#28657
Reland #28672: Remove IndeterminateComponent react/react#28681
Make ART Concurrent if Legacy Mode is disabled react/react#28662
[be] Remove unused, experimental getCacheSignal API react/react#28706
Differentiate null and undefined in Custom Elements - removing sets to undefined react/react#28716
Update RTR readme react/react#28705
Hardcode enableLegacyFBSupport flag react/react#28701
Remove reference to deleted <Cache> in un-linted file react/react#28715
Cleanup enableNewBooleanProps react/react#28712
Remove dynamic www flag for disableInputAttributeSyncing react/react#28703
[be] Remove unshipped experimental <Cache> element type react/react#28698
Upgrade flow to 0.232.0 react/react#28697
Bump nvmrc to Node.js v18 react/react#28707
[tests] Disallow unasserted console.log react/react#28708
Convert deprecated stalebot to github action react/react#28695
Land useModernStrictMode in www react/react#28696
[Flight] Update stale blocked values in
createModelResolverreact/react#28669Clarify RTR native feature flags are fb specific react/react#28679
[ESLint] Update README links to react.dev react/react#28692
Clean up console.log tests react/react#28693
Finish cleaning up digest from onRecoverableError react/react#28686
Suppress console output in unit tests react/react#28680
Include regular stack trace in serialized errors from Fizz react/react#28684
Don't let error boundaries catch errors during hydration react/react#28675
Remove React.createFactory react/react#27798
Mock modules in tests using
Modulereact/react#28678Land enableNewBooleanProps everywhere react/react#28676
Align React Native OSS/Test Feature Flags react/react#28677
Test for ReactTestRenderer react/react#28674
Warn when using useFormState react/react#28668
Revert "Remove zoom from special cases list" react/react#28673
Land enableCustomElementPropertySupport for React 19 react/react#27450
Remove module pattern function component support (flag only) react/react#28671
Revert "Remove module pattern function component support" react/react#28670
Remove module pattern function component support react/react#27742
Noop unstable_batchedUpdates react/react#28120
Add support for preload media to ReactDOM react/react#28635
s/form state/action state react/react#28631
[Fiber] Remove the digest property from errorInfo passed to onRecoverableError react/react#28222
Don't log onRecoverableError if the current commit fail react/react#28665
Remove errorHydratingContainer react/react#28664
Dymanic favorSafetyOverHydrationPerf react/react#28663
[react-dom] Remove
findDOMNodefrom OSS builds react/react#28267[Fizz][Legacy] Remove renderToNodeStream react/react#28607
Deprecate
actfromreact-dom/test-utilsin favor of act fromreactreact/react#28597ReactDOM: Remove every test-util except
act()react/react#28541Remove orphaned disableJavaScriptURLs reference react/react#28660
Make onUncaughtError and onCaughtError Configurable react/react#28641
[Breaking] Remove disableJavaScriptURLs react/react#28615
[Fiber] Don't Rethrow Errors at the Root react/react#28627
Add Flag to Favor Hydration Performance over User Safety react/react#28655
Add Diffs to Hydration Warnings react/react#28512
Move Hydration Mismatch Errors to Throw or Log Once (Kind of) react/react#28502
Move Hydration Warnings from the DOM Config into the Fiber reconciliation react/react#28476
Use concurrent root in RTR react/react#28498
Remove react-test-renderer/shallow export react/react#28497
Remove enableClientRenderFallbackOnTextMismatch flag react/react#28458
[RTR] Enable warning flag react/react#28419
Remove legacy hydration mode react/react#28440
Update error messages react/react#28652
Remove zoom from special cases list react/react#26631
Remove unmountComponentAtNode outside of legacy mode react/react#28650
Bump canary versions to v19-canary react/react#28646
Turn on enableRenderableContext in experimental react/react#28645
Add useActionState to CHANGELOG-canary.md react/react#28632
Cleanup
alwaysThrottleDisappearingFallbacksFlag react/react#28639Switch facebook-www build version to file content hash react/react#28633
Clarify RTR native feature flags are fb specific react/react#28679
[ESLint] Update README links to react.dev react/react#28692
Clean up console.log tests react/react#28693
Finish cleaning up digest from onRecoverableError react/react#28686
Suppress console output in unit tests react/react#28680
Include regular stack trace in serialized errors from Fizz react/react#28684
Don't let error boundaries catch errors during hydration react/react#28675
Remove React.createFactory react/react#27798
Mock modules in tests using
Modulereact/react#28678Land enableNewBooleanProps everywhere react/react#28676
Align React Native OSS/Test Feature Flags react/react#28677
Test for ReactTestRenderer react/react#28674
Warn when using useFormState react/react#28668
Revert "Remove zoom from special cases list" react/react#28673
Land enableCustomElementPropertySupport for React 19 react/react#27450
Remove module pattern function component support (flag only) react/react#28671
Revert "Remove module pattern function component support" react/react#28670
Remove module pattern function component support react/react#27742
Noop unstable_batchedUpdates react/react#28120
Add support for preload media to ReactDOM react/react#28635
s/form state/action state react/react#28631
[Fiber] Remove the digest property from errorInfo passed to onRecoverableError react/react#28222
Don't log onRecoverableError if the current commit fail react/react#28665
Remove errorHydratingContainer react/react#28664
Dymanic favorSafetyOverHydrationPerf react/react#28663
[react-dom] Remove
findDOMNodefrom OSS builds react/react#28267[Fizz][Legacy] Remove renderToNodeStream react/react#28607
Deprecate
actfromreact-dom/test-utilsin favor of act fromreactreact/react#28597ReactDOM: Remove every test-util except
act()react/react#28541Remove orphaned disableJavaScriptURLs reference react/react#28660
Make onUncaughtError and onCaughtError Configurable react/react#28641
[Breaking] Remove disableJavaScriptURLs react/react#28615
[Fiber] Don't Rethrow Errors at the Root react/react#28627
Add Flag to Favor Hydration Performance over User Safety react/react#28655
Add Diffs to Hydration Warnings react/react#28512
Move Hydration Mismatch Errors to Throw or Log Once (Kind of) react/react#28502
Move Hydration Warnings from the DOM Config into the Fiber reconciliation react/react#28476
Use concurrent root in RTR react/react#28498
Remove react-test-renderer/shallow export react/react#28497
Remove enableClientRenderFallbackOnTextMismatch flag react/react#28458
[RTR] Enable warning flag react/react#28419
Remove legacy hydration mode react/react#28440
Update error messages react/react#28652
Remove zoom from special cases list react/react#26631
Remove unmountComponentAtNode outside of legacy mode react/react#28650
Bump canary versions to v19-canary react/react#28646
Turn on enableRenderableContext in experimental react/react#28645
Add useActionState to CHANGELOG-canary.md react/react#28632
Cleanup
alwaysThrottleDisappearingFallbacksFlag react/react#28639Switch facebook-www build version to file content hash react/react#28633
For reviewers
E2E Deploy test failures are already present on the merge base: https://github.com/vercel/next.js/actions/runs/8927220553/job/24520090130?pr=65281
The biggest change to our implementation is implementing the fetch patch that was removed from React:
b59541d(#65058)<Head>currently duplicates tags on the first client-side navigation. Looking into this before I land this.Notable changes
Better hydration diffs: #65276
React changes that affect our test suite
aa503da
React.cacheno longer works in client componentsb6393d0
(Known bug) Effects are currently not double invoked in
StrictModeduring hydration. We already experienced this in PPR tests but not because of PPR but because these tests were using React's experimental buildDue to React Float, the loose reconciler for
Headchildren (default) can loose track of<script>and cause re-execution. We already warn onHead > script. This can also be fixed by enablingexperimental.strictNextHead.BREAKING CHANGES
3d3b012
next/legacy/imagenow relies on React server-side rendering to add<link rel="preload" />to thebodyinstead ofhead. React will take the attributes of the first<img />whereasnext/legacy/imagetook the attributes of the last<img />with the same key. For example,<img crossOrigin="use-credentials" href="foo.png" /><img crossOrigin="" href="foo.png" />used to result in the image being preloaded with cross-origin set to anonymous. Now it would useuse-credentialssince that was specified in the first image.533827f
When AMP is used, custom scripts (e.g.
<script />) now fail AMP validation i.e. fail the build. They used to be removed without any validation error.Pages router requires React version
19.0.0-beta-4508873393-20240430. Once React 19.0.0 is out, we'll relax the peer dependency to^19.0.0.Closes NEXT-3218